program TP1;
uses declaraciones,archivos,reparaciones,cargas,repuestos,Dos,crt,sysutils;
var
	archivoPedidos:TArchPedidos;
	archivoReparaciones:TArchReparacion;
	archivoRepuestos:TArchRepuestos;
	registrodecarga:TPedido;
	texto:str30;
	cantidadPedidos:word;
	opcion:char;
	arrRepuestosFaltantes:tPunFaltantes;
	arrPedidosNoReparados:tPunNoReparado;
begin
	{Procedimientos en la unit de archivos}
	{Abrir todos los archivos con la ruta especificada en declaraciones}
	AbrirArchivos(archivoPedidos,archivoReparaciones,archivoRepuestos);
    {Cuenta la cantidad de pedidos}
	ContarPedidos(archivoPedidos,cantidadPedidos);
	{Carga el faltante de repuestos}
	InicializarArreglos(arrRepuestosFaltantes,arrPedidosNoReparados);
	{Dibuja el menu principal}
	repeat
	    clrscr;

        gotoxy(2,2);
        writeln('******************************************************');
        gotoxy(2,3);
        writeln('*   ' + TXT_TIT_MENU_PPAL + '   *');
        gotoxy(2,4);
        writeln('******************************************************');
        gotoxy(2,6);
		writeln(TXT_MENU_1);
		gotoxy(2,8);
		writeln(TXT_MENU_2);
		gotoxy(2,10);
		writeln(TXT_MENU_3);
		gotoxy(2,12);
		writeln(TXT_MENU_4);
		gotoxy(2,14);
		writeln(TXT_MENU_0);
        gotoxy(2,24);
		opcion:=readkey;

		case opcion of
           OPCION_1: MenuNuevaReparacion(archivoPedidos,cantidadPedidos);
		   OPCION_2: MenuRegistroReparacion(archivoPedidos,archivoReparaciones,archivoRepuestos,cantidadPedidos,arrRepuestosFaltantes,arrPedidosNoReparados);

		   OPCION_3: MenuFaltanteRepuestos(arrRepuestosFaltantes,arrPedidosNoReparados);
		   OPCION_4: MenuCargarRepuestos(archivoRepuestos);

		end;
	until opcion = OPCION_SALIR;
	CerrarArchivos(archivoPedidos,archivoReparaciones,archivoRepuestos);
end.
